package com.sishu.njrtsdms.domain.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Builder;
import org.jooq.types.ULong;

import java.io.Serializable;
import java.time.LocalDateTime;


/**
 * 用户信息响应类
 *
 * @param userId         用户id
 * @param userTypeDict   用户类型字典数据
 * @param sexDict        用户性别字典数据
 * @param userStatusDict 用户状态字典数据
 * @param password       密码
 * @param username       用户名
 * @param realName       真实姓名
 * @param jobNumber      工号
 * @param email          邮箱
 * @param phone          手机
 * @param isDeleted      是否删除
 * @param loginIp        最后一次登录IP
 * @param loginDateTime  最后一次登录时间
 * @param createBy       创建人
 * @param createDateTime 创建时间
 * @param updateBy       修改人
 * @param updateDateTime 最后一次修改时间
 * @param remark         备注
 * @param college        用户学院信息
 */
@Builder
public record UserVO(
        ULong userId,
        DictDataSimpleVO userTypeDict,
        DictDataSimpleVO sexDict,
        DictDataSimpleVO userStatusDict,
        @JsonIgnore
        String password,
        String username,
        String realName,
        String jobNumber,
        String email,
        String phone,
        Boolean isDeleted,
        String loginIp,
        LocalDateTime loginDateTime,
        UserSimpleVO createBy,
        LocalDateTime createDateTime,
        UserSimpleVO updateBy,
        LocalDateTime updateDateTime,
        String remark,
        CollegeSimpleVO college
) implements Serializable {


}
